#pragma once

#include "widgets.h"
#include <QWidget>
#include <QCheckBox>
#include <QListWidget>
#include <QComboBox>
#include <vector>

namespace qb
{
	class S_WIDGETS_EXPORT SCheckComboBox : public QWidget
	{
		Q_OBJECT
	public:
		SCheckComboBox(QStringList aszlist, QWidget* parent = NULL);
		~SCheckComboBox();
	public:
		void SetItemCheckStates(int nState);
		std::vector<int> GetItemCheckStates() const;
		int GetItemCount() const;
		QCheckBox* GetCheckBoxFromIndex(int nIndex) const;
	private:
		QListWidget* m_List;
		QComboBox* m_Combo;
	protected slots:
		void UpdateComboContent();
	};
}

